package cn.broadmax.boot.modules.sys.service;

import cn.broadmax.boot.modules.sys.bean.SysUserBean;
import cn.broadmax.boot.modules.sys.entity.SysUser;
import cn.broadmax.boot.modules.sys.bean.user.UserCreateRequest;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 管理平台用户 服务类
 * </p>
 *
 * @author jexx
 * @since 2020-07-21
 */
public interface ISysUserService extends IService<SysUser> {

    /**
     * 新增用户, 以及角色关联
     * @param user 创建用户请求
     * @return 用户
     */
    SysUser addUser(UserCreateRequest request);

    /**
     * 根据ID更新用户, 以及角色关联
     * @param userId 用户ID
     * @param user 用户
     * @return 用户
     */
    SysUser updateUserById(String userId, SysUserBean user);

    /**
     * 根据用户账号获取用户
     * @param userName 账号
     * @return 用户
     */
    SysUser getSysUserByUserName(String userName);

    /**
     * 根据手机号获取用户
     * @param phone 手机号
     * @return 用户
     */
    SysUser getSysUserByPhone(String phone);

    /**
     * 根据邮件获取用户
     * @param email 邮件
     * @return 用户
     */
    SysUser getSysUserByEmail(String email);

    /**
     * 动态获取用户
     * @param str 字符串
     * @return 用户
     */
    SysUser dynamicFindSysUser(String str);


}
